\# Author Andy Pugh
\# Issued under the terms of the GPL v2 License or any later version

.TH hm2_bspi_set_read_function "3hm2" "2011-05-31" "Documentación LinuxCNC" "Hostmot2"
.SH NOMBRE

hm2_bspi_set_read_function \- Registra una función para manejar la fase de escritura TRAM de un controlador hostmot2 SPI con búfer.
.SH SINTAXIS
.nf
.B #include <hostmot2-serial.h>
.HP
int hm2_bspi_set_read_function(char *name, void *func, void *subdata)

.SH DESCRIPCIÓN
\fBhm2_bspi_set_read_function\fR registra una función en un controlador externo
para ser llamado cada vez que el controlador principal Hostmot2
llama a la función genérica "process_tram_read".
Los nombres de los canales disponibles se imprimen con rtapi_print_msg durante el
proceso de carga del controlador y toman la forma:
.RS
hm2_<nombre de tarjeta>.<índice de tarjeta>.bspi.<índice>
.RE
Por ejemplo hm2_5i23.0.bspi.0.

"func" debe ser un puntero a una función en el controlador secundario que debe ser
llamado para procesar los resultados de la fase de lectura BSPI TRAM. La función debe tomar un solo 
argumento, un puntero a una instancia individual del driver interno. Si se define en comp, entonces 
la función \fBno\fP debe usar la macro de conveniencia FUNCTION(), y el argumento de la función en 
la definición debe ser \fBsiempre\fP (struct state *inst).

"subdata" es un puntero a los datos internos de la instancia del controlador. En el caso de un 
controlador escrito en comp esto siempre será "inst" en la llamada de función y la llamada debe 
estar en cualquier parte del código EXTRA_SETUP.

.SH CONSIDERACIONES EN TIEMPO REAL
Llame solo desde el código de inicio en tiempo real, no desde el espacio de usuario o el código en tiempo real.

.SH VALOR DEVUELTO
Devuelve 0 en caso de éxito y \-1 en caso de error.

.SH VER TAMBIÉN
\fBhm2_allocate_bspi_tram(3hm2)\fR,
\fBhm2_bspi_setup_chan(3hm2)\fR,
\fBhm2_bspi_set_write_function(3hm2)\fR,
\fBhm2_bspi_write_chan(3hm2)\fR,
\fBhm2_tram_add_bspi_frame(3hm2)\fR,
src/hal/drivers mesa_7i65.comp en la distribución fuente LinuxCNC.

